export type { ButtonProps } from "./components/Button";
export { default as Button } from "./components/Button";

export type { CheckboxProps } from "./components/Checkbox";
export { default as Checkbox } from "./components/Checkbox";

export { default as ConfigProvider } from "./components/ConfigProvider";

export type { DatePickerProps } from "./components/DatePicker";
export { default as DatePicker } from "./components/DatePicker";

export type { FormInstance, FormProps, FormItemProps } from "./components/Form";
export { default as Form } from "./components/Form";

export type { InputProps } from "./components/Input";
export { default as Input } from "./components/Input";

export type { InputNumberProps } from "./components/InputNumber";
export { default as InputNumber } from "./components/InputNumber";

export type { ModalProps } from "./components/Modal";
export { default as Modal } from "./components/Modal";

export { DeleteModal } from "./components/Modals";

export type { PaginationProps } from "./components/Pagination";
export { default as Pagination } from "./components/Pagination";

export type { RadioProps } from "./components/Radio";
export { default as Radio } from "./components/Radio";

export type { SelectProps } from "./components/Select";
export { default as Select } from "./components/Select";

export type { SliderProps } from "./components/Slider";
export { default as Slider } from "./components/Slider";

export type { SwitchProps } from "./components/Switch";
export { default as Switch } from "./components/Switch";

export type {
  TableProps,
  TablePaginationConfig,
  TableColumnGroupType,
  TableColumnType,
  TableColumnProps,
  TableColumnsType,
} from "./components/Table";
export { default as Table } from "./components/Table";

export type { TabsProps } from "./components/Tabs";
export { default as Tabs } from "./components/Tabs";

export { default as message } from "./components/Message";
export { default as notification } from "./components/Notification";

/*
import React, { useState } from "react";
import ReactDOM from "react-dom";
import Table from "./components/Table";

function App() {
  const [selectionType, setSelectionType] = useState<"checkbox" | "radio">("checkbox");
  const columns = [
    {
      title: "Name",
      dataIndex: "name",
      render: (text: string) => <a>{text}</a>,
    },
    {
      title: "Age",
      dataIndex: "age",
    },
    {
      title: "Address",
      dataIndex: "address",
    },
  ];

  interface DataType {
    key: React.Key;
    name: string;
    age: number;
    address: string;
  }

  const data: DataType[] = [
    {
      key: "1",
      name: "John Brown",
      age: 32,
      address: "New York No. 1 Lake Park",
    },
    {
      key: "2",
      name: "Jim Green",
      age: 42,
      address: "London No. 1 Lake Park",
    },
    {
      key: "3",
      name: "Joe Black",
      age: 32,
      address: "Sidney No. 1 Lake Park",
    },
    {
      key: "4",
      name: "Disabled User",
      age: 99,
      address: "Sidney No. 1 Lake Park",
    },
  ];

  // rowSelection object indicates the need for row selection
  const rowSelection = {
    onChange: (selectedRowKeys: React.Key[], selectedRows: DataType[]) => {
      console.log(`selectedRowKeys: ${selectedRowKeys}`, "selectedRows: ", selectedRows);
      setSelectionType("checkbox");
    },
    getCheckboxProps: (record: DataType) => ({
      disabled: record.name === "Disabled User", // Column configuration not to be checked
      name: record.name,
    }),
  };

  return (
    <div className="app">
      <Table
        rowSelection={{
          type: selectionType,
          ...rowSelection,
        }}
        columns={columns}
        dataSource={data}
      />
    </div>
  );
}

ReactDOM.render(<App />, document.getElementById("root"));
*/
